<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.2.1" />
<style type="text/css">
/* Debug borders */
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
/*
  border: 1px solid red;
*/
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

tt {
  color: navy;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  font-family: sans-serif;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1 {
  border-bottom: 2px solid silver;
}
h2 {
  border-bottom: 2px solid silver;
  padding-top: 0.5em;
}

div.sectionbody {
  font-family: serif;
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

pre {
  padding: 0;
  margin: 0;
}

span#author {
  color: #527bbd;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 1.1em;
}
span#email {
}
span#revision {
  font-family: sans-serif;
}

div#footer {
  font-family: sans-serif;
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
div#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
div#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

div#preamble,
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-right: 10%;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  font-family: sans-serif;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid silver;
  padding: 0.5em;
}

div.listingblock {
  margin-right: 0%;
}
div.listingblock > div.content {
  border: 1px solid silver;
  background: #f4f4f4;
  padding: 0.5em;
}

div.quoteblock > div.content {
  padding-left: 2.0em;
}

div.attribution {
  text-align: right;
}
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 2px solid silver;
}

div.exampleblock > div.content {
  border-left: 2px solid silver;
  padding: 0.5em;
}

div.verseblock div.content {
  white-space: pre;
}

div.imageblock div.content { padding-left: 0; }
div.imageblock img { border: 1px solid silver; }
span.image img { border-style: none; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: italic;
}
dd > *:first-child {
  margin-top: 0;
}

ul, ol {
    list-style-position: outside;
}
ol.olist2 {
  list-style-type: lower-alpha;
}

div.tableblock > table {
  border: 3px solid #527bbd;
}
thead {
  font-family: sans-serif;
  font-weight: bold;
}
tfoot {
  font-weight: bold;
}

div.hlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hlist td {
  padding-bottom: 5px;
}
td.hlist1 {
  vertical-align: top;
  font-style: italic;
  padding-right: 0.8em;
}
td.hlist2 {
  vertical-align: top;
}

@media print {
  div#footer-badges { display: none; }
}

div#toctitle {
  color: #527bbd;
  font-family: sans-serif;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}
include1::./stylesheets/xhtml11-manpage.css[]
/* Workarounds for IE6's broken and incomplete CSS2. */

div.sidebar-content {
  background: #ffffee;
  border: 1px solid silver;
  padding: 0.5em;
}
div.sidebar-title, div.image-title {
  font-family: sans-serif;
  font-weight: bold;
  margin-top: 0.0em;
  margin-bottom: 0.5em;
}

div.listingblock div.content {
  border: 1px solid silver;
  background: #f4f4f4;
  padding: 0.5em;
}

div.quoteblock-content {
  padding-left: 2.0em;
}

div.exampleblock-content {
  border-left: 2px solid silver;
  padding-left: 0.5em;
}

/* IE6 sets dynamically generated links as visited. */
div#toc a:visited { color: blue; }
</style>
<title>REMOTE-DEVICE-ADD(7)</title>
</head>
<body>
<div id="header">
<h1>
REMOTE-DEVICE-ADD(7) Manual Page
</h1>
<h2>NAME</h2>
<div class="sectionbody">
<p>remote-device-add -
   script for adding motes to the Re-Mote device hierarchy
</p>
</div>
</div>
<h2>SYNOPSIS</h2>
<div class="sectionbody">
<p>/lib/udev/remote-device-add PLATFORM MOTEMAC MOTEPATH PROGRAMMER CONTROLLER</p>
</div>
<h2>DESCRIPTION</h2>
<div class="sectionbody">
<p>This script is designed to be called via a UDEV rule's RUN key. It
sets up extra information for added motes and notifies the motehost
about new events. It assumes that when a device is added the
associated TTY has already been created.</p>
</div>
<h2>OPTIONS</h2>
<div class="sectionbody">
<dl>
<dt>
PLATFORM
</dt>
<dd>
<p>
        The first argument is the name of the mote platform.
</p>
</dd>
<dt>
MOTEMAC
</dt>
<dd>
<p>
        The second argument is the mote MAC, part of which can often be
        with a well-known vendor and product ID.
</p>
</dd>
<dt>
MOTEPATH
</dt>
<dd>
<p>
        The third is the desired device path, which should be a unique
        enough to fully describe the bus, where the mote is attached,
        but should be reproducable in such a way that the same device
        path should be used when reinserting the same mote into the same
        port.
</p>
</dd>
<dt>
PROGRAMMER
</dt>
<dd>
<p>
        The path to the mote flash programmer.
</p>
</dd>
<dt>
CONTROLLER
</dt>
<dd>
<p>
        The path to the external script for controlling the mote.
</p>
</dd>
</dl>
</div>
<h2>ENVIRONMENT VARIABLES</h2>
<div class="sectionbody">
<dl>
<dt>
ACTION
</dt>
<dd>
<p>
        This environment variable is set by UDEV. Unless the value is
        "add" the script will exit.
</p>
</dd>
</dl>
</div>
<h2>FILES</h2>
<div class="sectionbody">
<dl>
<dt>
/dev/remote/MOTEMAC/path
</dt>
<dd>
<p>
        The physical UDEV device path (or similar) for the mote device
        with the given MAC address. This file is created by this script
        using the MOTEPATH command line argument.
</p>
</dd>
<dt>
/dev/remote/MOTEMAC/platform
</dt>
<dd>
<p>
        This file contains the name of the mote platform and is created
        by this script using the MOTEPLATFORM command line argument.
</p>
</dd>
<dt>
/dev/remote/MOTEMAC/programmer
</dt>
<dd>
<p>
        Symlink to the mote flash programmer as specified via the
        PROGRAMMER option. The symlink is created by this script.
</p>
</dd>
<dt>
/dev/remote/MOTEMAC/controller
</dt>
<dd>
<p>
        Symlink to the mote controller as specified via the CONTROLLER
        option. The symlink is created by this script. This option is
        relevant only for motes which need external script for their
        control.
</p>
</dd>
<dt>
/dev/remote/MOTEMAC/tty/control
</dt>
<dt>
/dev/remote/MOTEMAC/tty/data
</dt>
<dd>
<p>
        Symlink to the data and control tty devices that can be used for
        reading console output and controlling the mote with the given
        MAC address. This should be set up using a UDEV rule containing
        the SYMLINK key. This script assumes that the tty symlink exists
        when it is called. If this is not the case it will error out.
</p>
</dd>
</dl>
</div>
<h2>EXAMPLE</h2>
<div class="sectionbody">
<p>As an example, the dig528-2 and MicaZ UDEV rules use the following
arguments:</p>
<div class="literalblock">
<div class="content">
<pre><tt>/lib/udev/remote-device-add dig528-2 0050C237%s{serial} %E{PHYSDEVPATH} /sbin/hc08sprg
/lib/udev/remote-device-add MicaZ 04036010%s{serial} %E{PHYSDEVPATH} /sbin/program-mote.sh /sbin/control-mote.sh</tt></pre>
</div></div>
</div>
<h2>COPYRIGHT</h2>
<div class="sectionbody">
<div class="verseblock">
<div class="content">Copyright (c) 2007 Jonas Fonseca &lt;fonseca@diku.dk&gt;
Copyright (c) 2008 Rostislav Spinar &lt;rostislav.spinar@cit.ie&gt;</div></div>
<p>This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.</p>
</div>
<h2>SEE ALSO</h2>
<div class="sectionbody">
<p><strong><a href="remote-device-remove.7.html">remote-device-remove(7)</a></strong>,
<strong><a href="remote-device-name.7.html">remote-device-name(7)</a></strong></p>
</div>
<div id="footer">
<div id="footer-text">
Last updated 20-Mar-2008 16:24:20 CEST
</div>
</div>
</body>
</html>
